Override GetTargetPath in Traversal SDK#334
Merged
jeffkl merged 1 commit intomicrosoft:mainfrom Feb 4, 2022
Merged
Conversation
There are use-cases where you want to reference a Traversal SDK project, i.e. when you want to receive its P2P via the `IncludeTransitiveProjectReferences` feature. In such cases msbuild prints out an error when the tree is built with the `--no-dependencies` switch (or I guess when building inside VS) as that will trigger an MSBuild Exec task which calls into the `GetTargetsPath` target which currently doesn't exist for Traversal projects. Hence adding this here to avoid the error that is being printed.
Member
Author
|
Hmm unsure why tests are failing |
Contributor
|
Does this actually make things work or just get rid of the error about a missing target? I'm surprised this target doesn't need to return something... |
Member
Author
|
It's not about a missing target but that the not built assembly of the Traversal project is returned when a project references the Traversal project. To answer your question, if the GetTargetPath target doesn't return anything, the non existent build output is not passed down to the caller. This already happens in the NoTargets project: MSBuildSdks/src/NoTargets/Sdk/Sdk.targets Lines 74 to 82 in 27d7541 |
jeffkl
approved these changes
Feb 4, 2022
Contributor
jeffkl
left a comment
There was a problem hiding this comment.
Thanks for the contribution!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There are use-cases where you want to reference a Traversal SDK project, i.e. when you want to receive its P2P via the
IncludeTransitiveProjectReferencesfeature. In such cases msbuild prints out an error when the tree is built with the--no-dependenciesswitch (or I guess when building inside VS) as that will trigger an MSBuild Exec task which calls into theGetTargetsPathtarget which currently either doesn't exist (?) for Traversal projects or returns a TargetPath instead of returning nothing. Hence adding this here to avoid the error that is being printed.cc @jeffkl